package com.hsnn.medstgmini.settlement.service.impl;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.hsnn.medstgmini.settlement.dao.SettlementPsDao;
import com.hsnn.medstgmini.settlement.service.SettlementPsManager;
import com.hsnn.medstgmini.util.ConstantsUtil;
import com.hsnn.medstgmini.util.Pagination;


@Service
public class SettlementPsManagerImpl implements SettlementPsManager{

	@Autowired
	private SettlementPsDao settlementPsDao;
	
	/**
	 * @category 获取配送企业查看结算单（配送企业端）
	 * @Auther 徐国鹏
	 * @date 2015年7月29日 上午10:03:37
	 * @param page
	 * @return Pagination
	 */
	public Pagination getSettlementPsList(Pagination page){
		page = settlementPsDao.getSettlementPsList(page);
		@SuppressWarnings("unchecked")
		List<Map<String, Object>> list = (List<Map<String, Object>>) page.getRows();
		if (null != list && list.size() > 0){
			for (int i = 0; i < list.size(); i++){
				Map<String, Object> map = list.get(i);
				map.put("bankAcctTransType", map.get("bankAcctTransType")==null?"":ConstantsUtil.settlementStatus(map.get("bankAcctTransType").toString()));
			}
		}
		page.setRows(list);
		
		return page;
	}

	/**
	 * @category 获取配送企业查看结算单（配送企业端）
	 * @Auther 徐国鹏
	 * @date 2015年7月29日 下午1:33:30
	 * @param page
	 * @return Pagination
	 */
	@Override
	public Pagination getPsHospSettleList(Pagination page) {
		page = settlementPsDao.getPsHospSettleList(page);
		@SuppressWarnings("unchecked")
		List<Map<String, Object>> list = (List<Map<String, Object>>) page.getRows();
		if (null != list && list.size() > 0){
			for (int i = 0; i < list.size(); i++){
				Map<String, Object> map = list.get(i);
				map.put("bankAcctTransType", map.get("bankAcctTransType")==null?"":ConstantsUtil.settlementStatus(map.get("bankAcctTransType").toString()));
			}
		}
		page.setRows(list);
		return page;
	}

	/**
	 * @category 点击药品条目数获取药品信息（配送企业端）
	 * @Auther 徐国鹏
	 * @date 2015年7月29日 下午1:33:30
	 * @param page
	 * @return Pagination
	 */
	@Override
	public Pagination getPsDrugSettleList(Pagination page) {
		page = settlementPsDao.getPsDrugSettleList(page);
		@SuppressWarnings("unchecked")
		List<Map<String, Object>> list = (List<Map<String, Object>>) page.getRows();
		if (null != list && list.size() > 0){
			for (int i = 0; i < list.size(); i++){
				Map<String, Object> map = list.get(i);
				map.put("bankAcctTransType", map.get("bankAcctTransType")==null?"":ConstantsUtil.payType(map.get("bankAcctTransType").toString()));
				
			}
		}
		page.setRows(list);
		return page;
	}

	@Override
	public Pagination getPsDrugSettleListForPayment(Pagination page) {
		page = settlementPsDao.getPsDrugSettleListForPayment(page);
		@SuppressWarnings("unchecked")
		List<Map<String, Object>> list = (List<Map<String, Object>>) page.getRows();
		if (null != list && list.size() > 0){
			for (int i = 0; i < list.size(); i++){
				Map<String, Object> map = list.get(i);
				map.put("bankAcctTransType", map.get("bankAcctTransType")==null?"":ConstantsUtil.payType(map.get("bankAcctTransType").toString()));
				
			}
		}
		page.setRows(list);
		return page;
	}
	/**
	 * @category 点击医疗机构条目数获取医疗机构列表
	 * @Auther 周奇
	 * @date 2015年8月5日14:35:39
	 * @param page
	 * @return Pagination
	 */
	@Override
	public Pagination getPsHospSettleListForDrugpage(Pagination page) {
		return settlementPsDao.getPsHospSettleListForDrugpage(page);
	}
	
}
